package com.demo.common.constant.api.base;

import java.util.List;
import java.util.Map;

/**
 * 泛型 T 由子接口去声明
 * @Author: Amayer
 * @CreateTime: 2022-10-10 14:24
 */
public interface BaseMapper<T, K> {
    //查询所有
    List<T> selectAll();

    //根据Id查询
    T selectById(K id);

    //多条件查询
    List<T> selectByParams(Map<String, String> map);

    //查询总共有多少条数据
    int selectAllCount();

    //增加,返回插入记录数据
    int insert(T entity);

    //修改,返回被操作的记录条数
    int update(T entity);

    //多条件修改,返回被操作的记录条数
    int updateByParams(T entity);

    //根据ID删除,返回被操作的记录条数
    int delete(K id);

    //根据id批量删除,返回被操作的记录条数
    int batchDelete(List<K> ids);

    //根据多个条件删除,返回被操作的记录条数
    int deleteByParams(Map<String, String> map);
}
